home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Online / Apache / include / php / Zend / modules.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-12-13  |  3.0 KB  |  86 lines

  1. /*
  2.    +----------------------------------------------------------------------+
  3.    | Zend Engine                                                          |
  4.    +----------------------------------------------------------------------+
  5.    | Copyright (c) 1998-2000 Zend Technologies Ltd. (http://www.zend.com) |
  6.    +----------------------------------------------------------------------+
  7.    | This source file is subject to version 0.92 of the Zend license,     |
  8.    | that is bundled with this package in the file LICENSE, and is        | 
  9.    | available at through the world-wide-web at                           |
  10.    | http://www.zend.com/license/0_92.txt.                                |
  11.    | If you did not receive a copy of the Zend license and are unable to  |
  12.    | obtain it through the world-wide-web, please send a note to          |
  13.    | license@zend.com so we can mail you a copy immediately.              |
  14.    +----------------------------------------------------------------------+
  15.    | Authors: Andi Gutmans <andi@zend.com>                                |
  16.    |          Zeev Suraski <zeev@zend.com>                                |
  17.    +----------------------------------------------------------------------+
  18. */
  19.  
  20.  
  21. #ifndef MODULES_H
  22. #define MODULES_H
  23.  
  24. #define INIT_FUNC_ARGS        int type, int module_number ELS_DC
  25. #define INIT_FUNC_ARGS_PASSTHRU    type, module_number ELS_CC
  26. #define SHUTDOWN_FUNC_ARGS    int type, int module_number
  27. #define SHUTDOWN_FUNC_ARGS_PASSTHRU type, module_number
  28. #define ZEND_MODULE_INFO_FUNC_ARGS zend_module_entry *zend_module
  29. #define ZEND_MODULE_INFO_FUNC_ARGS_PASSTHRU zend_module
  30. #define GINIT_FUNC_ARGS        void
  31. #define GINIT_FUNC_ARGS_PASSTHRU
  32.  
  33. extern unsigned char first_arg_force_ref[];
  34. extern unsigned char first_arg_allow_ref[];
  35. extern unsigned char second_arg_force_ref[];
  36. extern unsigned char second_arg_allow_ref[];
  37.  
  38. #include "zend.h"
  39.  
  40. #define ZEND_MODULE_API_NO 20001214
  41. #ifdef ZTS
  42. #define USING_ZTS 1
  43. #else
  44. #define USING_ZTS 0
  45. #endif
  46.  
  47. #define STANDARD_MODULE_PROPERTIES_EX 0, 0, 0, NULL, 0, ZEND_DEBUG, USING_ZTS, ZEND_MODULE_API_NO
  48.  
  49. #define STANDARD_MODULE_PROPERTIES \
  50.     NULL, NULL, STANDARD_MODULE_PROPERTIES_EX
  51.  
  52. #define MODULE_PERSISTENT 1
  53. #define MODULE_TEMPORARY 2
  54.  
  55. typedef struct _zend_module_entry zend_module_entry;
  56.  
  57. struct _zend_module_entry {
  58.     char *name;
  59.     zend_function_entry *functions;
  60.     int (*module_startup_func)(INIT_FUNC_ARGS);
  61.     int (*module_shutdown_func)(SHUTDOWN_FUNC_ARGS);
  62.     int (*request_startup_func)(INIT_FUNC_ARGS);
  63.     int (*request_shutdown_func)(SHUTDOWN_FUNC_ARGS);
  64.     void (*info_func)(ZEND_MODULE_INFO_FUNC_ARGS);
  65.     int (*global_startup_func)(void);
  66.     int (*global_shutdown_func)(void);
  67.     int globals_id;
  68.     int module_started;
  69.     unsigned char type;
  70.     void *handle;
  71.     int module_number;
  72.     unsigned char zend_debug;
  73.     unsigned char zts;
  74.     unsigned int zend_api;
  75. };
  76.  
  77.  
  78. extern ZEND_API HashTable module_registry;
  79.  
  80. void module_destructor(zend_module_entry *module);
  81. int module_registry_cleanup(zend_module_entry *module);
  82. int module_registry_request_startup(zend_module_entry *module);
  83.  
  84. #define ZEND_MODULE_DTOR (void (*)(void *)) module_destructor
  85. #endif
  86.